package com.xz.stu.server.entity;

import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;

import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * 校历事件表
 * @TableName school_calendar_event
 */
@TableName(value ="school_calendar_event")
@Data
public class CalendarEvent extends TenantBaseDO implements Serializable {
    /**
     * 编号
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 学期编号
     */
    private Long termId;

    /**
     * 事件标题
     */
    private String title;

    /**
     * 事件类型（start-开学 holiday-放假 exam-考试 other-其他）
     */
    private String eventType;

    /**
     * 事件日期
     */
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime eventDate;

    /**
     * 日期类型（normal-普通工作日 holiday-节假日 workday-特殊工作日）
     */
    private String dateType;

    /**
     * 备注
     */
    private String remark;
    /**
     * 提醒人 {1，2，3,2}
     */
    private String users;
    /**
     * 提醒时间
     */
    private String cron;
    /**
     * 是否开启
     */
    private Integer isState;


    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

}
